package com.xiao.watch_tool;


/**
 * @CreateBy 花和尚  1130365579@qq.com  2023/3/10 12:34
 * @Version 1.0
 */
public class JHSDBTestCase {

    /**
     * 静态内部类
     */
    private static class ObjectHolder {

        private String name;
        private int age;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public int getAge() {
            return age;
        }

        public void setAge(int age) {
            this.age = age;
        }
    }


    /**
     * 思考：如下三个变量分别存放在什么位置？
     * staticObj    静态变量
     * instanceObj  实例变量
     * localObj     局部变量
     */
    static class Test {
        // 静态属性
        static ObjectHolder staticObj = new ObjectHolder();

        // 实例属性
        ObjectHolder instanceObj = new ObjectHolder();

        void foo() {
            ObjectHolder localObj = new ObjectHolder();
            System.out.println("done"); // 此行设置断点
        }
    }

    /**
     * VM 参数 -Xmx10m -XX:+UseSerialGC -XX:-UseCompressedOops
     * 设置 堆内存大小  使用指定的垃圾收集器  禁用压缩指针
     *
     * @param args
     */
    public static void main(String[] args) {
        Test test = new JHSDBTestCase.Test();
        test.foo();
    }

}
